package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @ClassName: WmsInventoryPlanMapper.java
* @Description: TODO(这里用一句话描述这个类的作用)
* @Author Jane
* @Date Tue Jan 09 10:16:55 CST 2018
*/
public interface WmsInventoryPlanMapper extends BaseDao<WmsInventoryPlan> {

/**
 * 插入一条记录
 * @param entity 实体对象
 * @return int
 */
 public Integer baseInsert(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

/**
 * 插入一条记录（匹配有值的字段）
 * @param entity 实体对象
 * @return int
 */
public Integer baseInsertSelective(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

/**
 * 删除（根据主键ID删除）
 * @param id 主键
 * @return int
 */
public Integer baseDeleteByPrimaryKey(@Param("id") String id);

/**
 * 删除（根据ID 批量删除）
 * @param idList 主键ID列表
 * @return int
 */
 public Integer baseDeleteBathPrimaryKeys(@Param("list") List<String> idList);


 /**
 * 分页查询
 * @param entity 实体
 * @return List<WmsInventoryPlan>
 */
 public List<WmsInventoryPlan> baseSelectPage(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

 /**
 * 查询（根据主键ID查询）
 * @param id 主键ID
 * @return User
 */
 public WmsInventoryPlan baseSelectByPrimaryKey(@Param("id") String id);

/**
 * 查询（根据ID 批量查询）
 * @param idList 主键ID列表
 * @return list
 */
 public Integer baseSelectBathPrimaryKeys(@Param("list") List<WmsInventoryPlan> idList);

/**
 *修改 （匹配有值的字段）
 * @param entity 主键ID列表
 * @return int
 */
 public Integer baseUpdateByPrimaryKeySelective(@Param("WmsInventoryPlan") WmsInventoryPlan entity);

/**
 *修改（根据主键ID修改）
 * @param entity 主键ID列表
 * @return int
 */
 public Integer baseUpdateByPrimaryKey(@Param("WmsInventoryPlan") WmsInventoryPlan entity);
    /**
     *统计盘点编号最大值_Jane
     * @param bh 当天编号的日期
     * @param ckid 仓库Id
     * @param owner 货主id
     * @return int
     */
    public Integer selectBcNoCountInOneDay(@Param("bh") String bh, @Param("ckid") String ckid, @Param("owner") String owner);
    /**
     *获取盘点编号最后几位最大值_Jane
     * @param bh 当天编号的日期
     * @param ckid 仓库Id
     * @param owner 货主id
     * @return int
     */
    public String selectBcNumInOneDay(@Param("bh") String bh, @Param("ckid") String ckid, @Param("owner") String owner);
    /**
     *盘点编号是否已经存在——Jane
     * @param pdbh 盘点编号
     * @return int
     */
    public Integer countPdbhByPdbh(@Param("pdbh") String pdbh);
    /**
     *查询库存是否有带操作数量——Jane
     * @param entity 实体类
     * @return int
     */
    public List<WmsStock> countCzSl(@Param("WmsInventoryPlan") WmsInventoryPlan entity);
    /**
     *查询此盘点计划要盘点的库存——Jane
     * @param entity 实体类
     * @return int
     */
    public List<WmsStock> seachPlanKc(@Param("WmsInventoryPlan") WmsInventoryPlan entity, @Param("ckid") String ckid, @Param("sshzid") String sshzid);
    /**
     *打印盘点任务清单——Jane
     * @param entity 实体类
     * @return int
     */
    public List<WmsInventoryTask> printPlanRw(@Param("WmsInventoryTask") WmsInventoryTask entity);
    /**
     *打印盘点损益单清单——Jane
     * @param entity 实体类
     * @return int
     */
    public List<WmsInventoryTask> printSYPlanRw(@Param("WmsInventoryTask") WmsInventoryTask entity);
    /**
     *查询货主信息——Jane
     * @param sshzid 所属货主Id
     * @return int
     */
    public WmsOwner seachOwnerXxById(@Param("sshzid") String sshzid);
    /**
     *查询货主供应商名称——Jane
     * @param kcid kucunId
     * @return int
     */
    public WmsInventoryTask seachGysmc(@Param("kcid") String kcid);
    /**
     *查询合并主单位名称——Jane
     * @param hpid 货品Id
     * @return int
     */
    public WmsInventoryMerge seachZdwmc(@Param("hpid") String hpid);
    /**
     *查询盘点下发情况——Jane
     * @return int
     */
    public Integer seachPlanXF(@Param("planId") String planId);
}
